<?php

use app\service\ConfServiceFacade;

if (!function_exists("imgUrlToAbsolute")) {
    /**
     * 图片转换成绝对路径
     * @param string $img
     * @param string $url
     * @return string
     */
    function imgUrlToAbsolute($img = '', $url = '')
    {
        if (strpos($img, 'http') === false && strpos($img, 'https') === false) {
            if (empty($url)) {
                return getDomain() . $img;
            } else {
                return $url . $img;
            }

        } else {
            return $img;
        }
    }
}

if(!function_exists("getDomain")){
    function getDomain($http ="http://"){
        return $http.env("OSS.domain");
    }
}
if (!function_exists('api_error')) {
    /**
     * 传json字符串
     * @param string $msg
     * @return \think\response\Json
     */
    function api_error($msg = '操作失败')
    {
        return ajax_return_success(false, $msg);
    }
}


if (!function_exists('ajax_return_success')) {
    /**
     * 后台ajax请求返回格式处理-success
     * @access public
     * @param boolean $status 返回状态 true/false
     * @param string $msg 返回提示信息
     * @param string|array $data 数组或字符串
     * @param array allow_origin 特殊请求需跨域设置可跨域域名/地址
     * @param array $ext 其他扩展参数
     * @return string json
     */
    function ajax_return_success($status = true, $msg, $data = '', $allow_origin = [], $ext = [])
    {
        if($status){
            $code = 0;
        }else{
            $code = -1;
        }
        return ajax_return(
            [
                'status' => $status
                , 'msg' => $msg
                , 'data' => $data
            ]
            , $code
            , $msg
            , 1
            , $allow_origin
            , $ext
        );
    }
}

if (!function_exists('ajax_return')) {
    /**
     * 后台ajax请求返回格式处理
     * @access public
     * @param array|string $data 数据
     * @param int $code 返回码
     * @param string $msg 返回提示信息
     * @param int $is_encode 返回格式 1是json对象 2是json字符串
     * @param array $allow_origin 特殊请求需跨域设置可跨域域名/地址
     * @param array $ext 其他扩展参数
     * @return string json字符串
     */
    function ajax_return($data = '', $code = 0, $msg = '', $is_encode = 1, $allow_origin = [], $ext = [])
    {
        header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
        header('Access-Control-Allow-Methods: GET, POST, PUT');
        header('Content-type: application/json');
        // 跨域需求
        if (!empty($allow_origin)) {
            $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
            if (in_array($origin, $allow_origin)) {
                header('Access-Control-Allow-Origin: ' . $origin); //解决跨域
            }
        }
        $result = [
            'code' => $code,
            'data' => $data['data'],
            'msg' => $msg,
            'time' => time()
        ];
        // 扩展参数
        foreach ($ext as $k => $v) {
            if (!isset($result[$k])) {
                $result[$k] = $v;
            }
        }
        if ($is_encode == 1) {
            return json($result);
        } else {
            return json_encode($result, true);
        }

    }
}


if (!function_exists('api_success')) {
    /**
     * 传json字符串
     * @param array $data 返回的数组
     * @param int $is_ajax 返回的是否是ajax
     * @param string $msg 提示语
     * @return \think\response\Json
     */
    function api_success($data = [], $is_ajax = 1, $msg = '操作成功')
    {
        if ($is_ajax == 1) {
            return ajax_return_success(true, $msg, $data);
        } else {
            return $data;
        }

    }
}


if (!function_exists("getRelativeUrl")) {
    /**
     * 获取图片的相对路径
     * @param string $img
     * @param string $url
     * @return string
     */
    function getRelativeUrl($url = '')
    {
        return $url;
//        $new_url  = explode(env("OSS.domain"),$url);
//        if(count($new_url)>1){
//            return $new_url[1];
//        }else{
//            return $url;
//        }
    }
}


